// vite.config.js
import {
	defineConfig
} from 'vite';
import vue from '@vitejs/plugin-vue';
import path from 'path';
import Components from 'unplugin-vue-components/vite';
import {
	ElementPlusResolver
} from 'unplugin-vue-components/resolvers';

export default defineConfig({
	plugins: [
		vue(),
		Components({
			// 核心配置项
			// 自动扫描的组件目录
			dirs: [
				'src/components',
				'src/views',
			],
			resolvers: [ElementPlusResolver()], //第三方 UI 库集成
			// deep: true, // 启用深度扫描
			directoryAsNamespace: true, // 启用目录命名空间[5](@ref)
			// dts: 'src/components.d.ts', // 生成 TypeScript 类型声明文件
			deep: true, // 递归扫描子目录
			extensions: ['vue'], // 支持的文件类型
			//排除特定文件
			exclude: [
				/[\\/]node_modules[\\/]/,
				/[\\/]\.git[\\/]/,
				/[\\/]\.nuxt[\\/]/
			]
		})

	],
	resolve: {
		alias: {
			'@': path.resolve(__dirname, './src'),
		},
	},
	// 新增服务器配置
	server: {
		historyApiFallback: {
			rewrites: [{
					from: /^\/.*/,
					to: '/index.html'
				}, // 所有路径回退到 index.html
			],
		},
	},
});